package com.shareach.service;

import java.util.List;
import java.util.Map;

import org.springframework.data.domain.Page;

import com.shareach.common.BaseQueryOrder;
import com.shareach.common.BizCondition;
import com.shareach.domain.BaseShopDomain;

public interface BaseShopService {
	// add
	Long save(BaseShopDomain domain);

	Map<String, Object> saveOrUpdate(BaseShopDomain domain);

	// del

	void del(BaseShopDomain domain);

	// update
	void update(BaseShopDomain domain);

	// update by condition
	void update(BaseShopDomain domain, BizCondition condition);

	// update by domain
	void update(BaseShopDomain domain, BaseShopDomain condition);

	// get by id
	BaseShopDomain getById(Long id);

	// get list
	List<BaseShopDomain> getList(BaseShopDomain domain);

	List<BaseShopDomain> getList(BizCondition condition);

	// load page
	Page<BaseShopDomain> getPageResult(BaseShopDomain domain, BaseQueryOrder order);

	List<BaseShopDomain> getListByIds(List<Long> ids, BaseQueryOrder order);
}
